![ข้อมูลเบื้องต้นเกี่ยวกับ Amazon CloudFront คุณสมบัติและวิธีใช้ที่เป็นเอกลักษณ์เฉพาะของบริการ AWS](https://devio2024-media.developers.io/image/upload/v1720002278/user-gen-eyecatch/psoyllelghiytsn99o2c.jpg)
ข้อมูลเบื้องต้นเกี่ยวกับ Amazon CloudFront คุณสมบัติและวิธีใช้ที่เป็นเอกลักษณ์เฉพาะของบริการ AWS
Amazon CloudFront ซึ่งเป็นบริการ CDN (Content Delivery Network) ที่ให้บริการโดย AWS โดดเด่นด้วยความรวดเร็ว ปลอดภัย และจ่ายตามที่ใช้งาน
เช่นเดียวกับบริการ CDN ทั่วไป นอกเหนือจากการใช้ Amazon CloudFront เพื่อเผยแพร่เนื้อหาที่มีความจุขนาดใหญ่ เช่น วิดีโอ ตลอดจนเพิ่มความเร็วและรักษาเสถียรภาพของเว็บไซต์ที่มีการเข้าถึงจำนวนมาก ยังมีวิธีใช้งานที่เป็นเอกลักษณ์ของบริการของ AWS อีกด้วย
บทความนี้เราจะมาอธิบาย Amazon CloudFront ตั้งแต่พื้นฐานที่ควรรู้
สารบัญ
★Amazon CloudFrontคืออะไร
★ประโยชน์ของAmazon CloudFront
★Use Case การใช้งาน Amazon CloudFront
★ค่าบริการAmazon CloudFront
Amazon CloudFrontคืออะไร
Amazon CloudFront เป็นบริการ CDN ระดับโลกที่ให้บริการโดย AWS แต่เดิมบริการ CDN เป็นการติดตั้ง edge server ในพื้นที่ต่างๆทั่วโลกเพื่อเป็นตัวแทนในการเข้าถึง Website และดำเนินการเผยแพร่เนื้อหาอย่างมีประสิทธิภาพ นอกเหนือจากการจัดเก็บและกระจายแคชบนฝั่ง edge server แล้วยังเพิ่มความเร็วในการแสดงเว็บไซต์โดยการใช้ edge server ที่อยู่ใกล้กับ Client
โดยทั่วไป บริการ CDN จะใช้สำหรับเคสที่มีการเข้าถึงจำนวนมากและมีภาระบนเว็บเซิร์ฟเวอร์ขนาดใหญ่ หรือ เว็บไซต์ที่เผยแพร่ไฟล์ขนาดใหญ่ เช่น วิดีโอและรูปภาพจำนวนมาก นอกจากนี้ยังใช้ในเคสที่ต้องการให้มีการแสดงผลอย่างรวดเร็วเมื่อเข้าถึงจากต่างประเทศ ซึ่งเราสามารถใช้ Amazon CloudFront ให้เป็นประโยชน์สำหรับเคสเหล่านี้ได้ นอกจากนี้ เอกลักษณ์ในการใช้งาน Amazon CloudFront อย่างนึงคือเราสามารถใช้งานร่วมกับบริการ "Amazon S3" ที่เป็น Object Storage(พื้นที่จัดเก็บอ็อบเจ็กต์) ของ AWS ซึ่งทำให้สามารถเผยแพร่เว็บไซต์แบบ static ได้โดยไม่ต้องใช้เว็บเซิร์ฟเวอร์
ความน่าสนใจอีกอย่างของ Amazon CloudFront คือไม่มีค่าใช้จ่ายเริ่มต้น จ่ายตามการใช้งานจริงเท่านั้น อย่างในประเทศญี่ปุ่นมีประวัติการใช้งาน Amazon CloudFront มาอย่างยาวนานและมีผู้ใช้งานจำนวนมาก จึงเรียกได้ว่าเป็นบริการที่ทำให้เราเข้าถึงข้อมูลได้อย่างง่ายดายและใช้งานได้ง่ายหากเปรียบเทียบกับ CDN ตัวอื่นๆ
ประโยชน์ของAmazon CloudFront
(ข้อ 1) เพิ่มความเร็วในการแสดงเนื้อหาเว็บ
ประโยชน์ข้อแรกของ Amazon CloudFront คือการส่งเนื้อหาเว็บที่รวดเร็วยิ่งขึ้น เมื่อใช้บริการ CDN เช่น Amazon CloudFront เซิร์ฟเวอร์ที่เก็บข้อมูลต้นฉบับจะเรียกว่า "เซิร์ฟเวอร์ต้นทาง" และ Amazon CloudFront จะลดภาระบนเซิร์ฟเวอร์ต้นทางและป้องกันความล่าช้าในการประมวลผล
นอกจากนี้ ด้วยความที่เนื้อหาจะถูกส่งจาก edge server ของ Amazon CloudFront ที่อยู่ใกล้กับ Client ที่สุด จึงทำให้สามารถส่งข้อมูลได้เร็วขึ้น และ edge server ได้รับการปรับใช้ทั่วโลก ทำให้สามารถเผยแพร่เนื้อหาได้อย่างมีประสิทธิภาพแม้จะ access จากต่างประเทศก็ตาม
(ข้อ 2) เพิ่มความปลอดภัย
การใช้ Amazon CloudFront สามารถเชื่อมโยงไปสู่การพัฒนาการรักษาความปลอดภัยได้ด้วย เพราะการที่เรารับรีเควสการเข้าถึงเว็บไซต์ผ่าน Amazon CloudFront ทำให้เราสามารถกำหนดการตั้งค่าที่ไม่อนุญาตให้เข้าถึงเซิร์ฟเวอร์ต้นทางโดยตรงจากภายนอกได้ อีกทั้ง Amazon CloudFront ยังทำงานร่วมกับ AWS Shield เพื่อป้องกันการโจมตี DDoS สรุปคือ การโจมตี DDoS และการเข้าถึงที่ไม่ได้รับอนุญาตจะถูกจัดการโดย Amazon CloudFront ดังนั้นเซิร์ฟเวอร์ต้นทางของเราจะไม่ได้รับความเสียหาย
อย่างไรก็ตาม เพื่อใช้โครงสร้างนี้ของ Amazon CloudFront ได้อย่างเห็นผลที่สุด เราจำเป็นต้องกำหนดค่าเซิร์ฟเวอร์ต้นทางให้ "ยอมรับเฉพาะการเข้าถึงจาก Amazon CloudFront เท่านั้น" อย่าลืมการตั้งค่าส่วนนี้กันด้วยนะ
(ข้อ 3) ปรับปรุงความพร้อมใช้งานของเว็บไซต์โดยรวม
หลายคนอาจจะเคยได้ยินมาแล้วว่า Amazon CloudFront ช่วยลดภาระบนเซิร์ฟเวอร์ต้นทาง ลดความเสี่ยงที่เซิร์ฟเวอร์ต้นทางล่มเนื่องจากปริมาณ request ที่มากเกินไป และทำให้ฝั่งเซิร์ฟเวอร์ต้นทางมีความพร้อมในการใช้งานที่ดีขึ้น
นอกจากนี้ Amazon CloudFront ยังมีคุณสมบัติที่เรียกว่า "CloudFront origin failover" ซึ่งช่วยให้เราสลับไปใช้เซิร์ฟเวอร์อื่นได้โดยอัตโนมัติเมื่อเซิร์ฟเวอร์ต้นทางล่ม ตัวอย่างเช่น เราสามารถเตรียมเซิร์ฟเวอร์รองและเนื้อหาที่ region อื่น และ สามารถตั้งค่าให้สลับ region ได้ในกรณีที่เกิดความล้มเหลวใน region หลัก คุณสมบัตินี้มีประโยชน์ต่อการนำไปปรับใช้กับมาตรการ DR เมื่อเกิดภัยพิบัติได้อีกด้วย
(ข้อ 4) ใช้งานร่วมกับบริการต่างๆของ AWS ได้อย่างง่ายดาย
ข้อดีอีกประการหนึ่งของ Amazon CloudFront ก็คือสามารถใช้งานร่วมกับบริการต่างๆของ AWS ได้อย่างง่ายดาย ยกตัวอย่างเช่น การเผยแพร่เว็บไซต์แบบ static โดยใช้ร่วมกับ Amazon S3 แต่อีกวิธีหนึ่งที่ใช้กันทั่วไปคือ "AWS WAF" ที่เป็น managed WAF เพราะสามารถใช้ร่วมกันได้อย่างง่ายดาย ไม่มีเหตุผลที่จะไม่ใช้ Amazon CloudFront เพื่อเพิ่มความปลอดภัยให้กับเว็บไซต์ของเรา
นอกจากนี้ ข้อมูล Access Log ของ Amazon CloudFront ที่ output ออกไปบันทึกไว้ที่ Amazon S3 ยังสามารถนำไปวิเคราะห์โดยใช้บริการวิเคราะห์ข้อมูล "Amazon Athena" ได้อย่างง่ายดาย หากคุณต้องการมอนิเตอร์รายการที่มีรายละเอียดมากขึ้นในสภาพแวดล้อมขนาดใหญ่ คุณสามารถรันระบบโดยการใช้ Amazon EMR เพื่อจัดการข้อมูล และ ใช้ Amazon CloudWatch ตรวจสอบรายการเหล่านั้น และ ใช้ Amazon SNS เพื่อแจ้งให้คุณทราบทางอีเมลหากตรวจพบความผิดปกติ การที่คุณสามารถกำหนดโครงสร้างระบบได้อย่างยืดหยุ่นด้วยบริการที่หลากหลายตามสิ่งที่ต้องการ เช่น "สิ่งที่คุณต้องการตรวจสอบ" และ "สิ่งที่คุณต้องการเข้าใจ" นี่เป็นประโยชน์ในการใช้งานที่เป็นเอกลักษณ์ของ AWS
Use Case การใช้งาน Amazon CloudFront
(Use Case 1) เพิ่มความเร็วเว็บไซต์
หากคุณต้องการเพิ่มความเร็วเว็บไซต์ของคุณ คุณควรพิจารณาใช้ Amazon CloudFront ก่อน เซิร์ฟเวอร์ Edge ของ AWS ได้ขยายตัวอย่างมากในช่วงไม่กี่ปีที่ผ่านมา และมีมากกว่า 400 แห่งทั่วโลก ในญี่ปุ่นมีเซิร์ฟเวอร์ Edge 20 แห่งในโตเกียวและ 7 แห่งในโอซาก้า ดังนั้นคุณสามารถคาดหวังให้เว็บไซต์ของคุณเร่งความเร็วได้ สิ่งที่น่าสนใจคือการตั้งค่าต่างๆที่โดยปกติแล้วจะต้องทำที่ฝั่งเซิร์ฟเวอร์ต้นทางสามารถดำเนินการให้เสร็จสิ้นได้อย่างง่ายดายบนฝั่ง Amazon CloudFront
อ้างอิงจาก คุณสมบัติหลักของ Amazon CloudFront(ภาษาไทย)
(Use Case 2) การโฮสต์เว็บไซต์แบบ static ด้วย Amazon S3
เมื่อเผยแพร่เนื้อหาแบบ static บนเว็บด้วย AWS การตั้งค่าที่ดีที่สุดคือการจัดเก็บเนื้อหาใน Amazon S3 และเผยแพร่เป็นเว็บไซต์ผ่าน Amazon CloudFront ไม่จำเป็นต้องมีเว็บเซิร์ฟเวอร์ ลดภาระการทำงานของเซิร์ฟเวอร์และสร้างเว็บไซต์ที่มีความพร้อมใช้งานสูง
(Use Case 3) ใช้งานร่วมกับเว็บเซิร์ฟเวอร์ของOn-Premises
Amazon CloudFront สามารถใช้ร่วมกับเว็บเซิร์ฟเวอร์ภายในองค์กรได้ โดยไม่คำนึงถึงตำแหน่งของเซิร์ฟเวอร์ต้นทาง ในกรณีเช่น คุณต้องการใช้การป้องกัน DDoS สำหรับเว็บเซิร์ฟเวอร์ของคุณทันที หรือ คุณต้องการเพิ่มความเร็วเว็บไซต์ของคุณ ด้วยการใช้ Amazon CloudFront โดยไม่ต้องเปลี่ยนเว็บเซิร์ฟเวอร์ที่มีอยู่ คุณสามารถปรับปรุงการป้องกัน DDoS และเพิ่มความเร็วได้
ค่าบริการAmazon CloudFront
ค่าบริการของ Amazon CloudFront จะถูกกำหนดโดยปัจจัยหลักสองประการ ได้แก่
1.จำนวนข้อมูลที่ถ่ายโอนจาก Amazon CloudFront ไป Client (การถ่ายโอนข้อมูลจากรีเจี้ยนออกไปยังอินเทอร์เน็ต)
- ปริมาณการถ่ายโอนข้อมูลคือ 0.120 USD/GB สูงสุด 10 TB (ราคาของรีเจี้ยนสิงคโปร์)
2.จำนวน request ไปยัง Amazon CloudFront
- จำนวนคำขอ (HTTPS) คือ 0.012 USD/10,000 ครั้ง
(※)ค่าบริการถูกกำหนดตามจำนวนที่ใช้ ดังนั้นจึงไม่มีค่าใช้จ่ายที่ไม่จำเป็น
อ้างอิงจาก ราคา Amazon CloudFront(ภาษาไทย)
(※)ค่าบริการขึ้นอยู่กับรีเจี้ยนที่เลือกใช้งานด้วย
นอกจากนี้ หากคุณอัปโหลดไฟล์จาก Client ไปยังเว็บไซต์ของคุณ คุณจะถูกเรียกเก็บเงินตามจำนวนข้อมูลที่ถ่ายโอนจาก Amazon CloudFront ไปยังเซิร์ฟเวอร์ต้นทางของคุณด้วย หากเว็บไซต์ของคุณอัปโหลดรูปภาพหรือวิดีโอบ่อยครั้ง ควรนำเรื่องนี้ไปประกอบการพิจารณาด้วย
บทความที่เกี่ยวข้องกับ Amazon CloudFront
Amazon CloudFront คืออะไร? การแนะนำฟังก์ชันล่าสุดของ AWS
วิธีการแสดงผลเว็บไซต์ที่สร้างจาก EC2 ด้วย CloudFront
วิธีการสร้างเว็บไซต์แบบ Static โดยใช้ S3 + CloudFront (ใช้งาน OAC)
ดูรูปภาพใน S3 ผ่าน CloudFront ด้วย OAI
การตั้งค่า Free SSL กับ DNS ใน CloudFront โดยใช้ ACM กับ Route 53
Block การเข้าถึงที่ไม่ผ่าน Amazon CloudFront ด้วยวิธีง่ายๆ